#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

//class Date
//{
//public:
//    Date(int year, int month, int day)
//        :_year(year)
//        , _month(month)
//        , _day(day)
//    {}
//
//    int GetMonthDay(int year, int month)
//    {
//        static int MonthDay[13] = { -1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
//        if (month == 2 && ((year % 100 != 0 && year % 4 == 0) || year % 400 == 0))
//        {
//            return 29;
//        }
//        return MonthDay[month];
//    }
//
//    Date& operator+=(int day)
//    {
//        _day += day;
//
//        while (_day > GetMonthDay(_year, _month))
//        {
//            _day -= GetMonthDay(_year, _month);
//            ++_month;
//            if (_month == 13)
//            {
//                ++_year;
//                _month = 1;
//            }
//        }
//        return *this;
//    }
//
//    int _year;
//    int _month;
//    int _day;
//};
//
//
//int main() {
//    int m;
//    cin >> m;
//    for (int i = 0; i < m; ++i)
//    {
//        int year, month, day, a;
//
//        cin >> year >> month >> day >> a;
//        Date d1(year, month, day);
//        d1 += a;
//        printf("%4d-%02d-%02d\n", d1._year, d1._month, d1._day);
//
//    }
//    return 0;
//}

int GetMonthDay(int year, int month)
{
    static int MonthDay[13] = { -1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    if (month == 2 && ((year % 100 != 0 && year % 4 == 0) || year % 400 == 0))
    {
        return 29;
    }
    return MonthDay[month];
}

void GetYearMonthDay(int year, int day)
{
    int month = 1;
    while (day > GetMonthDay(year, month))
    {
        day -= GetMonthDay(year, month);
        ++month;
    }
    printf("%4d-%02d-%02d", year, month, day);
}


int main() {
    int a, b;
    while (scanf("%d%d", &a, &b) != EOF)
    {
        GetYearMonthDay(a, b);
    }

    return 0;
}